﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.SessionState;
using Terrae.GUI.Contrato;
using Terrae.GUI.Presentador;
using Terrae.Clases;

namespace Terrae.GUI.Vista
{
    public partial class Home : System.Web.UI.Page, IContratoHome
    {
        #region Atributos
       
        /// <summary>
        /// Instancia del PresentadorHome.
        /// </summary>
        private PresentadorHome _presentador;

        #endregion Atributos

        protected void Page_Load(object sender, EventArgs e)
        {
            Sesion["Usuario"] = null;
            //Arduino arduino = new Arduino("COM5", 9600);
            //arduino.DigitalWrite("1");
            //arduino.DigitalReadWrite("1");
        }

        #region Constructor

        /// <summary>
        /// Constructor de la clase home.
        /// </summary>
        public Home()
        {
            _presentador = new PresentadorHome(this);
        }

        #endregion Constructor

        #region Método

        #region Boton Aceptar

        /// <summary>
        /// Método del boton aceptar de iniciar sesion.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btAceptarI_Click(object sender, ImageClickEventArgs e)
        {
            _presentador.IniciarSesion();
        }

        #endregion Boton Aceptar

        #region Redireccionar

        /// <summary>
        /// Método que redirecciona al usuario si sus datos son 
        /// ingresados correctamente.
        /// </summary>
        /// <param name="_ruta"></param>
        public void Redireccionar(string _ruta)
        {
            Response.Redirect(_ruta);
        }

        #endregion Redireccionar

        #endregion Método

        #region Implementacion del IContratoHome

        /// <summary>
        /// Implementación del nombre de usuario.
        /// </summary>
        public TextBox NombreUsuario
        {
            get { return nombreUsuario; }
            set { nombreUsuario = value; }
        }

        /// <summary>
        /// Implementación de la contraseña del usuario.
        /// </summary>
        public TextBox Contrasena
        {
            get { return contrasena; }
            set { contrasena = value; }
        }

        /// <summary>
        /// Implementación del mensaje de error.
        /// </summary>
        public Label Mensaje
        {
            get { return mensaje; }
            set { mensaje = value; }
        }

        /// <summary>
        /// Implementacion de la sesion.
        /// </summary>
        public HttpSessionState Sesion
        {
            get { return Session; }
        }

        #endregion Implementacion del IContratoHome
    }
}